#员工信息视图文件
from django.shortcuts import render
from django.http import HttpResponse
from django.core.paginator import Paginator
from django.db.models import Q
from myadmin.models import User
from datetime import datetime


# Create your views here.
def index(request,pIndex=1):
	umod = User.objects
	ulist = umod.filter(status__lt=29)
	mywhere=[]
	#获取并且判断搜索条件
	kw = request.GET.get("keyword",None)
	if kw:
		ulist = ulist.filter(Q(username__contains=kw) | Q(nickname__contains=kw))
		mywhere.append('keyword='+kw)
	#添加状态的搜索条件
	ulist = umod.filter(status__lt=20)
	mywhere=[]
	#获取并且判断搜索条件
	status = request.GET.get("status",'')
	if status != '':
		ulist = ulist.filter(status=status)
		mywhere.append('status='+status)
		
	ulist = ulist.order_by('id')
	#执行分页操作
	pIndex = int(pIndex)
	page = Paginator(ulist,5)#以每页五条数据分页
	maxpages = page.num_pages#获取最大页数
	#判定当前页是否越界
	if pIndex > maxpages:
		pIndex = maxpages
	if pIndex < 1:
		pIndex = 1
	list2 = page.page(pIndex)#获取当前页数据
	plist = page.page_range#获取页码列表信息
	context = {"userlist":list2,'plist':plist,'pIndex':pIndex,'maxpages':maxpages,'mywhere':mywhere}
	return render(request,"myadmin/user/index.html",context)
#浏览信息

def add(request):
	return render(request,'myadmin/user/add.html')#加载信息

def insert(request):
	try:
		ob = User()
		ob.username = request.POST['username']
		ob.nickname = request.POST['nickname']
		#将当前员工信息的密码做md5处理
		import hashlib,random
		md5 = hashlib.md5()
		n = random.randint(100000,999999)
		s = request.POST['password']+str(n)
		md5.update(s.encode('utf-8'))
		ob.password_hash = md5.hexdigest()
		ob.password_salt = n 
		ob.status = 1
		ob.create_at = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
		ob.update_at = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
		ob.save()
		context = {'info':"添加成功"}
	except Exception as err:
		print(err)
		context = {'info':"添加失败"}
	return render(request,"myadmin/info.html",context)

#执行信息

def delete(request,uid=0):
	try:
		
		ob = User.objects.get(id=uid)
		ob.status = 9
		ob.update_at = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
		ob.save()
		context = {'info':"删除成功"}
	except Exception as err:
		print(err)
		context = {'info':"删除失败"}
	return render(request,"myadmin/info.html",context)

def edit(request,uid=0):
	try:
		ob = User.objects.get(id=uid)
		context = {'user':ob }
		return render(request,"myadmin/user/edit.html",context)
	except Exception as err:
		print(err)
		context = {'info':"没有找到要修改的数据信息"}
		return render(request,"myadmin/info.html",context)


def update(request,uid):
	try:
		ob = User.objects.get(id=uid)
		ob.nickname = request.POST['nickname']
		ob.status = request.POST['status']
		ob.update_at = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
		ob.save()
		context = {'info':"修改成功"}
	except Exception as err:
		print(err)
		context = {'info':"修改失败"}
	return render(request,"myadmin/info.html",context)